package org.abettor.angleworm.router;

import java.io.Closeable;

/**
 * 连接到目标Peer的通信隧道
 * @author <a href="http://www.abettor.org/" target="_blank">abettor</a>
 *
 */
public interface Tunnel extends Closeable
{
	/**
	 * 添加处理通信隧道事件的监听器
	 * @param listener 处理隧道事件的监听器
	 */
	public void addListener(TunnelEventListener listener);

	/**
	 * 删除处理通信隧道事件的监听器
	 * @param listener 处理隧道事件的监听器
	 */
	public void removeListener(TunnelEventListener listener);

	/**
	 * 删除所有处理通信隧道事件的监听器
	 */
	public void removeAllListeners();
}
